// #ifndef VUE3
import Vue from 'vue'
import App from './App'

// 导入Vuex实例对象store
import store from '@/store/store.js'

// 导入网络请求的包
import {
  $http
} from '@escook/request-miniprogram'
// 挂载网络请求$http
uni.$http = $http
// 设置请求的根路径
$http.baseUrl = 'https://www.uinav.com'
// 为$http配置请求拦截器
$http.beforeRequest = function(options) {
  uni.showLoading({
    title: '数据加载中...'
  })
  // console.log(store);
  // 判断当前请求的是否为有权限的接口
  if(options.url.indexOf('/my/') !== -1) {
    // 为请求头添加认证字段
    options.header = {
      Authorization: store.state.m_user.token
    }
  }
}
// 为$http配置响应拦截器
$http.afterRequest = function() {
  uni.hideLoading();
}

// 封装默认弹框的方法
uni.$showMsg = function(title = '数据请求失败', duration = 1500) {
  uni.showToast({
    title,
    duration
  })
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
  ...App,
  // 挂载Vuex的实例
  store
})
app.$mount()
// #endif

// #ifdef VUE3
import {
  createSSRApp
} from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif
